package com.gecba.modular.shiro;

import com.gecba.modular.shiro.model.LoginUser;

import java.util.Set;

/**
 * 登陆认证接口
 * @author ChenBo
 * @interfaceName LoginServices
 * @date 2021/9/5
 */
public interface LoginServices {

    /**
     *通过用户名获取登陆用户
     *@author ChenBo
     *@date 2021/9/5
     */
    LoginUser getUserByName(String username);


    /**
     *通过用户名获取用户角色列表
     *@author ChenBo
     *@date 2021/9/5
     */
    Set<String> queryUserRoles(String username);

    /**
     *获取用户权限集合
     *@author ChenBo
     *@date 2021/9/5
     */
    Set<String> queryUserAuths(String username);

    /**
     *获取缓存中的token
     *@author ChenBo
     *@date 2021/9/5
     */
    String getCacheToken(String key);

    /**
     *刷新缓存中的token
     *@author ChenBo
     *@date 2021/9/5
     */
    void refreshCacheToken(String s, String token, long timeout);

    /**
     *清除缓存中的token
     *@author ChenBo
     *@date 2021/9/5
     */
    void clearCacheToken(String key);
}
